const router = require('express').Router();// 分发请求
const feeRecordModel = require('../../model/feeRecordModel');// 执行sql语句的模块
const Jwt = require('../../common/token/jwt');//处理token的工具 json web token

// 创建订单
// URL: /api/feeRecord/create
// 参数：token,parking_record_id, vehicle_num, fee_record_money,parking_record_enter_time, parking_record_leave_time
// 请求方式：POST
router.post('/create', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let result = new Jwt(token).verifyToken()
    let { parking_record_id, vehicle_num, fee_record_money, parking_record_enter_time, parking_record_leave_time } = req.body;
    if (result.code == 200) {
        // 登录状态
        // 创建订单
        await feeRecordModel.create(parking_record_id, vehicle_num, fee_record_money, parking_record_enter_time, parking_record_leave_time).then(
            (content) => {
                // 响应数据给前端
                res.send(content)
            },
            (err) => {
                res.send(err)
            }
        )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})

// 获取订单信息
// URL: /api/feeRecord/info
// 参数：token,vehicle_num
// 请求方式：POST
router.post('/info', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let result = new Jwt(token).verifyToken()
    let { vehicle_num } = req.body;
    if (result.code == 200) {
        // 登录状态
        // 获取订单信息
        await feeRecordModel.info(vehicle_num).then(
            (content) => {
                // 响应数据给前端
                res.send(content)
            },
            (err) => {
                res.send(err)
            }
        )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})

// 设置订单支付状态
// URL: /api/feeRecord/modify
// 参数：token,parking_record_id, fee_record_status
// 请求方式：POST
router.post('/modify', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let result = new Jwt(token).verifyToken()
    let { parking_record_id, fee_record_status } = req.body;
    if (result.code == 200) {
        if(parking_record_id == undefined) {
            // 
            res.send({
                code: -1,
                msg: '支付订单出错~~'
            })
            return false;
        }
        //设置订单支付状态
        await feeRecordModel.modify(parking_record_id, fee_record_status).then(
            (content) => {
                // 响应数据给前端
                res.send(content)
            },
            (err) => {
                res.send(err)
            }
        )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})


// 订单列表接口
// URL: /api/feeRecord/list
// 参数：page, pageSize
// 请求方式：GET
router.get('/list', async (req, res) => {
    let { page, pageSize } = req.query;
    if (page != undefined && pageSize) {
        await feeRecordModel.list(page, pageSize).then(
            (content) => {
                res.send(content)
            },
            (error) => {
                res.send(error)
            }
        )
    }
    else {
        res.send({
            code: -1,
            msg: '缺少参数。'
        })
    }
})

// 删除订单记录
// URL: /api/feeRecord/remove
// 参数：token ,parking_record_id
// 请求方式：POST
router.post('/remove', async (req, res) => {
    // 获取token
    let token = req.body.token || req.headers.token;
    // 验证token
    let result = new Jwt(token).verifyToken();
    // 登录状态
    if (result.code == 200) {
        // 接收前端的参数
        let {parking_record_id} = req.body;
        if(parking_record_id!= undefined) {
            await feeRecordModel.remove (parking_record_id)
            .then(
                (content)=>{
                    res.send(content)
                },
                (error)=> {
                    res.send(error)
                }
            )

        }
        else {
            res.send({
                code: -1,
                msg: '删除订单记录，缺少参数'
            })
        }
       
    }
    else {
        res.send({
            code: -1,
            msg: '登录失效,请重新登录。'
        })
    }

})


// 搜索订单记录
// URL: /api/feeRecord/search
// 参数：token , vehicle_num
// 请求方式：POST
router.post('/search', async (req, res) => {
    // 接收前端的参数
    let {vehicle_num} = req.body;
    if(vehicle_num!= undefined) {
        await feeRecordModel.search(vehicle_num)
        .then(
            (content)=>{
                res.send(content)
            },
            (error)=> {
                res.send(error)
            }
        )

    }
    else {
        res.send({
            code: -1,
            msg: '缺少参数'
        })
    }

})


module.exports = router;